SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE  Procedure [dbo].[SP_TCMOVI_CAJA_U01]  
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Cliente              : OFISIS                 --*/  
/*---Sistema              : Presupuesto                --*/  
/*---M¸dulo               : Empresa                    --*/  
/*---Programa             : Actualizaci©n Cabecera     --*/  
/*---                       Movimiento Caja   (Egresos)--*/  
/*---Script               : tcmovi_c.sql               --*/  
/*---Nombre SP            : SP_TCMOVI_CAJA_U01         --*/  
/*---Desarrollado por     : Javier Flores A.           --*/  
/*---Fecha Creaci¸n       : 10/07/1999                 --*/  
/*---Base Datos           : Microsoft Sql Server       --*/  
/*---Versi¸n              : 7.0                        --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/ 
/*---Modificado 1 por     : Miguel Carrasco                       --*/        
/*---Fecha Modificaci÷n   : 02/07/2009                 --*/         
/*---Detalle Modificaci÷n : Modificar Actividad--*/     
  
/*-------------------------------------------------------*/  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Drop Proc SP_TCMOVI_CAJA_U01                      --*/  
/*---Grant Execute on SP_TCMOVI_CAJA_U01 to public         --*/   
/*---SP_TCMOVI_CAJA_U01                                --*/  
/*-------------------------------------------------------*/  
 @ISCO_EMPR   TD_VC_002,   
 @ISCO_USUA_MODI  TD_VC_008_USUA,  
 @ISCO_CAJA   TD_VC_008,   
 @ISAA_CAJA   TD_VC_004,   
 @ISMM_CAJA   TD_VC_002,   
 @ISTI_MOVI   TD_VC_001,    
 @ISNU_COMP_CAJA  TD_VC_008,   
 @ISCO_TIPO_OPER  TD_VC_003,   
 @ISCO_SUBR   TD_VC_003,   
 @INFA_TIPO_CAMB  TD_NU_015_006,
 @INFA_CAMB_EXTR  TD_NU_015_006, 
 @INIM_MOVI   TD_NU_016_004,   
 @IDFE_OPER   TD_DT_001,   
 @ISTI_ENTI   TD_VC_001,  
 @ISCO_ENTI   TD_VC_020,   
 @ISDE_ENTI   TD_VC_100,   
 @ISDE_OBSE   TD_VC_100,   
 @ISCO_ENTR_REND  TD_VC_004,  
 @ISCO_UNID_CNTB  TD_VC_003,  
 @ISNU_SOLI       TD_VC_010,
/*-----------------------------------------------*/
 @ISTI_DOCU_ENRE        TD_VC_003,  
 @ISNU_SERI_ENRE        TD_VC_004,  
 @ISNU_DOCU_ENRE        TD_VC_020,
 @ISCO_ORDE_SERV   TD_VC_020

	As
DECLARE  


@VNIM_MOVI_ANTE  TD_NU_016_004,  
  @VSNU_DOCU_ENRE  TD_VC_020,  
  @VSST_SERI   TD_VC_001,   
  @VSST_FILL   TD_VC_001,   
  @VNNU_LONG   TD_IN_001,   
  @VNNU_LONG_SERI  TD_IN_001  
  
  BEGIN TRAN SP_TCMOVI_CAJA_U01  
  
    If @ISTI_DOCU_ENRE IS NOT NULL or @ISNU_DOCU_ENRE IS NOT NULL  
  
    Select  @VSST_SERI = ST_SERI, @VSST_FILL = ST_FILL, @VNNU_LONG = NU_LONG, @VNNU_LONG_SERI = NU_LONG_SERI  
    From    TTDOCU_CNTB  
    Where   TI_DOCU = @ISTI_DOCU_ENRE  
  
  If @VSST_SERI = 'S'  
    Select  @VSNU_DOCU_ENRE = @ISNU_SERI_ENRE +'-'+ @ISNU_DOCU_ENRE  
  
  If @VSST_SERI = 'N'  
    Select  @VSNU_DOCU_ENRE = @ISNU_DOCU_ENRE  


  Select @VNIM_MOVI_ANTE  = Isnull(IM_MOVI,0)   
  From   TCMOVI_CAJA  
  Where  CO_EMPR = @ISCO_EMPR   
  and    CO_CAJA = @ISCO_CAJA  
  and    AA_CAJA = @ISAA_CAJA  
  and    MM_CAJA = @ISMM_CAJA  
  and  TI_MOVI = 'E'   
  and    NU_COMP_CAJA = @ISNU_COMP_CAJA  
  
  If Rtrim(@ISCO_ENTR_REND) = ''  
     Select @ISCO_ENTR_REND = NULL  
  
  UPDATE TCMOVI_CAJA  
  SET   
 CO_SUBR = @ISCO_SUBR,  
 FA_TIPO_CAMB = @INFA_TIPO_CAMB,  
 FA_CAMB_EXTR = @INFA_CAMB_EXTR,  
 IM_MOVI = @INIM_MOVI,  
 FE_OPER = @IDFE_OPER,  
 TI_ENTI = @ISTI_ENTI,  
 CO_ENTI = @ISCO_ENTI,  
 DE_ENTI = @ISDE_ENTI,  
 DE_OBSE = @ISDE_OBSE ,        
 CO_ENTR_REND = @ISCO_ENTR_REND,  
 CO_UNID_CONC = @ISCO_UNID_CNTB,   
 NU_SOLI = @ISNU_SOLI,  
	TI_DOCU_ENRE = @ISTI_DOCU_ENRE,  
        NU_DOCU_ENRE = @VSNU_DOCU_ENRE, 
 CO_ORDE_SERV = @ISCO_ORDE_SERV,  
 CO_USUA_MODI = @ISCO_USUA_MODI,  
 FE_USUA_MODI = getdate()  
  WHERE CO_EMPR = @ISCO_EMPR   
  and   CO_CAJA = @ISCO_CAJA  
  and   AA_CAJA = @ISAA_CAJA  
  and   MM_CAJA = @ISMM_CAJA   
  and   TI_MOVI = 'E'   
  And NU_COMP_CAJA = @ISNU_COMP_CAJA  
  
  If @@error <> 0  
     Begin  
       Rollback tran  
       Return  
     End  
  
  
   UPDATE TMSOLI_CABA SET TI_SITU = 'LIQ',CO_USUA_MODI = @ISCO_USUA_MODI, FE_LIQU = @IDFE_OPER,  
   FE_USUA_MODI = getdate()  
   WHERE  CO_EMPR = @ISCO_EMPR  
   AND    NU_SOLI = @ISNU_SOLI  
  
   If @@error <> 0  
      Begin  
        Rollback tran  
        Return  
      End  
  
  
  Update TCMOVI_CAJA  
  Set ST_CONT = 'N',  
      CO_USUA_MODI = @ISCO_USUA_MODI,  
      FE_USUA_MODI = getdate()  
  Where CO_EMPR = @ISCO_EMPR   
  and   CO_CAJA = @ISCO_CAJA  
  and   AA_CAJA = @ISAA_CAJA  
  and   MM_CAJA = @ISMM_CAJA   
  and   TI_MOVI = 'E'   
  And NU_COMP_CAJA = @ISNU_COMP_CAJA  
  
  If @@error <> 0  
     Begin  
       Rollback tran  
       Return  
     End  
  
COMMIT TRAN   
  
/*------------------------ Fin ------------------------------*/


GO
